home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland C++ V5.02 / ODBCINF.PAK / DRVINFO.H < prev    next >
C/C++ Source or Header  |  1997-05-06  |  13KB  |  566 lines

  1. // DrvInfo.h : header file
  2. //
  3.  
  4. // This is a part of the Microsoft Foundation Classes C++ library.
  5. // Copyright (C) 1992-1996 Microsoft Corporation
  6. // All rights reserved.
  7. //
  8. // This source code is only intended as a supplement to the
  9. // Microsoft Foundation Classes Reference and related
  10. // electronic documentation provided with the library.
  11. // See these sources for detailed information regarding the
  12. // Microsoft Foundation Classes product.
  13.  
  14. class CMyPage : public CPropertyPage
  15. {
  16. protected:
  17.  
  18.     // SQLGetInfo helpers
  19.     static CString        SQLGetInfoString(UWORD);
  20.     static UWORD        SQLGetInfoShort(UWORD);
  21.     static UDWORD        SQLGetInfoLong(UWORD);
  22.  
  23.     // formatting helpers
  24.     static void            ZeroIsNoneLong(CString&,UWORD);
  25.     static void            ZeroIsNoneShort(CString&,UWORD);
  26.     static void            YIsYes(CString&,UWORD);
  27.     static void            YIsSupported(CString&,UWORD);
  28.     
  29.     // the database we're showing info about
  30.     static CDatabase*    m_pDatabase;
  31.  
  32.     // the shared image list for check marks in CListCtrl
  33.     static CImageList*    m_pImageList;
  34.  
  35.     // the number of active property page objects using
  36.     // the shared imagelist
  37.     static int            m_nClients;
  38.  
  39. public:
  40.  
  41.     CMyPage(CDatabase* pDatabase, UINT nIdTemplate);
  42.  
  43.     virtual ~CMyPage();
  44.  
  45.     virtual void OnNewDSN() = 0;
  46.  
  47.     virtual void DumpToFile(CStdioFile&) = 0;
  48. };
  49.  
  50.  
  51. /////////////////////////////////////////////////////////////////////////////
  52. // CDriverInfo property page
  53.  
  54. class CDriverInfo : public CMyPage
  55. {
  56.     DECLARE_DYNCREATE(CDriverInfo)
  57.  
  58. // Construction
  59. public:
  60.     CDriverInfo(CDatabase* pDatabase = NULL);
  61.     ~CDriverInfo();
  62.  
  63.     void DumpToFile(CStdioFile&);
  64.  
  65. // Dialog Data
  66.     //{{AFX_DATA(CDriverInfo)
  67.     enum { IDD = IDD_DRIVERINFO };
  68.     CString    m_strSqlUserName;
  69.     CString    m_strSqlServerName;
  70.     CString    m_strSqlDbmsName;
  71.     CString    m_strSqlDbmsVer;
  72.     CString    m_strSqlDriverName;
  73.     CString    m_strSqlDriverOdbcVer;
  74.     CString    m_strSqlDriverVer;
  75.     CString    m_strSqlOdbcVer;
  76.     CString    m_strSqlOdbcApiConformance;
  77.     CString    m_strSqlOdbcSagCliConformance;
  78.     CString    m_strSqlOdbcSqlConformance;
  79.     CString    m_strSqlOdbcSqlOptIef;
  80.     CString    m_strSqlActiveConnections;
  81.     CString    m_strSqlActiveStatements;
  82.     CString    m_strSqlMultResultSets;
  83.     CString    m_strSqlFileUsage;
  84.     CString    m_strSqlDataSourceReadOnly;
  85.     CString    m_strSqlDataSourceName;
  86.     CString    m_strSqlAccessibleProcedures;
  87.     CString    m_strSqlAccessibleTables;
  88.     CString    m_strSqlDatabaseName;
  89.     //}}AFX_DATA
  90.  
  91.  
  92. // Overrides
  93.     // ClassWizard generate virtual function overrides
  94.     //{{AFX_VIRTUAL(CDriverInfo)
  95.     protected:
  96.     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  97.     //}}AFX_VIRTUAL
  98.  
  99. // Implementation
  100. protected:
  101.     // Generated message map functions
  102.     //{{AFX_MSG(CDriverInfo)
  103.     virtual BOOL OnInitDialog();
  104.     //}}AFX_MSG
  105. public:
  106.     void OnNewDSN();
  107.  
  108.     DECLARE_MESSAGE_MAP()
  109.  
  110. };
  111.  
  112. /////////////////////////////////////////////////////////////////////////////
  113. // CFunctions dialog
  114.  
  115. class CFunctions : public CMyPage
  116. {
  117.     DECLARE_DYNCREATE(CFunctions)
  118.  
  119.     static char*    m_szFunctions[];
  120.     static char*    m_szSqlFunctions[];
  121.     static char*    m_szSqlCategories[];
  122.     static SDWORD    m_dwConversionsMasks[];
  123.     static SDWORD    m_dwNumericMasks[];
  124.     static SDWORD    m_dwStringsMasks[];
  125.     static SDWORD    m_dwSystemsMasks[];
  126.     static SDWORD    m_dwTimeDatesMasks[];
  127.  
  128. // Construction
  129. public:
  130.     CFunctions(CDatabase* pDatabase = NULL);
  131.     ~CFunctions();
  132.  
  133.     void DumpToFile(CStdioFile&);
  134.  
  135. // Dialog Data
  136.     //{{AFX_DATA(CFunctions)
  137.     enum { IDD = IDD_FUNCTIONS };
  138.     CListCtrl    m_SqlListControl;
  139.     CListCtrl    m_ApiListControl;
  140.     //}}AFX_DATA
  141.  
  142.  
  143. // Overrides
  144.     // ClassWizard generate virtual function overrides
  145.     //{{AFX_VIRTUAL(CFunctions)
  146.     protected:
  147.     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  148.     //}}AFX_VIRTUAL
  149.  
  150. // Implementation
  151. protected:
  152.     // Generated message map functions
  153.     //{{AFX_MSG(CFunctions)
  154.     virtual BOOL OnInitDialog();
  155.     //}}AFX_MSG
  156. public:
  157.     void OnNewDSN(void);
  158.  
  159.     DECLARE_MESSAGE_MAP()
  160.  
  161. };
  162.  
  163. /////////////////////////////////////////////////////////////////////////////
  164. // CSupportedSQL dialog
  165.  
  166. class CSupportedSQL : public CMyPage
  167. {
  168.     DECLARE_DYNCREATE(CSupportedSQL)
  169.  
  170. // Construction
  171. public:
  172.     CSupportedSQL(CDatabase* pDatabase = NULL);
  173.     ~CSupportedSQL();
  174.  
  175.     void DumpToFile(CStdioFile&);
  176.  
  177. // Dialog Data
  178.     //{{AFX_DATA(CSupportedSQL)
  179.     enum { IDD = IDD_SUPPORTED_SQL };
  180.     BOOL    m_bSqlAlterTableAdd;
  181.     BOOL    m_bSqlAlterTableDrop;
  182.     CString    m_strSqlExpressionsInOrderby;
  183.     CString    m_strSqlGroupBy;
  184.     CString    m_strSqlOrderByColumnsInSelect;
  185.     CString    m_strSqlOuterJoins;
  186.     BOOL    m_bSqlSqComparison;
  187.     BOOL    m_bSqlSqCorrelatedSubqueries;
  188.     BOOL    m_bSqlSqExists;
  189.     BOOL    m_bSqlSqIn;
  190.     BOOL    m_bSqlSqQuantified;
  191.     BOOL    m_bSqlUUnion;
  192.     BOOL    m_bSqlUUnionAll;
  193.     CString    m_strSqlColumnAlias;
  194.     CString    m_strSqlLikeEscapeClause;
  195.     BOOL    m_bSqlPsPositionedDelete;
  196.     BOOL    m_bSqlPsPositionedUpdate;
  197.     BOOL    m_bSqlPsSelectForUpdate;
  198.     CString    m_strSqlCorrelationName;
  199.     //}}AFX_DATA
  200.  
  201.  
  202. // Overrides
  203.     // ClassWizard generate virtual function overrides
  204.     //{{AFX_VIRTUAL(CSupportedSQL)
  205.     protected:
  206.     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  207.     //}}AFX_VIRTUAL
  208.  
  209. // Implementation
  210. protected:
  211.     // Generated message map functions
  212.     //{{AFX_MSG(CSupportedSQL)
  213.     virtual BOOL OnInitDialog();
  214.     //}}AFX_MSG
  215. public:
  216.     void OnNewDSN();
  217.  
  218.     DECLARE_MESSAGE_MAP()
  219. };
  220.  
  221. /////////////////////////////////////////////////////////////////////////////
  222. // CDataTypes dialog
  223.  
  224. struct TYPEDATA
  225. {
  226.     CString        strTypeName;
  227.     int            nSqlType;
  228.     int            nPrecision;
  229.     CString        strLiteralPrefix;
  230.     CString        strLiteralSuffix;
  231.     CString        strCreateParams;
  232.     int            nNullable;
  233.     BOOL        bCaseSensitive;
  234.     int            nSearchable;
  235.     int            nUnsigned;
  236.     BOOL        bMoney;
  237.     int            nAutoIncrement;
  238.     int            nMinimumScale;
  239.     int            nMaximumScale;
  240.     TYPEDATA*    pNext;
  241. };
  242.  
  243. class CDataTypes : public CMyPage
  244. {
  245.     DECLARE_DYNCREATE(CDataTypes)
  246.  
  247. // Construction
  248. public:
  249.     CDataTypes(CDatabase* pDatabase = NULL);
  250.     ~CDataTypes();
  251.  
  252.     void DumpToFile(CStdioFile&);
  253.  
  254.     CGetTypeInfo*    m_pGetTypeInfo;
  255.  
  256.     TYPEDATA*        m_pTypeDataHead;
  257.     TYPEDATA*        m_pTypeDataTail;
  258.  
  259. // Dialog Data
  260.     //{{AFX_DATA(CDataTypes)
  261.     enum { IDD = IDD_DATA_TYPES };
  262.     CListBox    m_lbConversions;
  263.     CListBox    m_lbDataTypes;
  264.     CString    m_strSqlType;
  265.     CString    m_strPrecision;
  266.     CString    m_strPrefixSuffix;
  267.     CString    m_strCreateParams;
  268.     CString    m_strNullable;
  269.     CString    m_strCaseSensitive;
  270.     CString    m_strSearchable;
  271.     CString    m_strMoney;
  272.     CString    m_strUnsigned;
  273.     CString    m_strAutoIncrement;
  274.     CString    m_strMaximumScale;
  275.     CString    m_strMinimumScale;
  276.     //}}AFX_DATA
  277.  
  278.  
  279. // Overrides
  280.     // ClassWizard generate virtual function overrides
  281.     //{{AFX_VIRTUAL(CDataTypes)
  282.     protected:
  283.     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  284.     //}}AFX_VIRTUAL
  285.  
  286. // Implementation
  287. protected:
  288.     // Generated message map functions
  289.     //{{AFX_MSG(CDataTypes)
  290.     virtual BOOL OnInitDialog();
  291.     afx_msg void OnSelchangeDataTypeList();
  292.     //}}AFX_MSG
  293.  
  294.     // helpers
  295.     void InsertTypeData(TYPEDATA*);
  296.     void ShowConversions(SDWORD);
  297.     void PrintConversions(BOOL&,SDWORD,SDWORD,CString&,const CString&,CStdioFile&);
  298.  
  299. public:
  300.     void OnNewDSN();
  301.  
  302.     DECLARE_MESSAGE_MAP()
  303. };
  304.  
  305. /////////////////////////////////////////////////////////////////////////////
  306. // CIdentifiers dialog
  307.  
  308. class CIdentifiers : public CMyPage
  309. {
  310.     DECLARE_DYNCREATE(CIdentifiers)
  311.  
  312. // Construction
  313. public:
  314.     CIdentifiers(CDatabase* pDatabase = NULL);
  315.     ~CIdentifiers();
  316.  
  317.     void DumpToFile(CStdioFile&);
  318.  
  319. // Dialog Data
  320.     //{{AFX_DATA(CIdentifiers)
  321.     enum { IDD = IDD_IDENTIFIERS };
  322.     CListBox    m_lbDriverKeywords;
  323.     CListBox    m_lbOdbcKeywords;
  324.     CString    m_strSqlIdentifierCase;
  325.     CString    m_strSqlIdentifierQuoteChar;
  326.     CString    m_strSqlOwnerTerm;
  327.     CString    m_strSqlProcedureTerm;
  328.     CString    m_strSqlQualifierLocation;
  329.     CString    m_strSqlQualifierNameSeparator;
  330.     CString    m_strSqlQualifierTerm;
  331.     CString    m_strSqlQuotedIdentifierCase;
  332.     CString    m_strSqlSearchPatternEscape;
  333.     CString    m_strSqlTableTerm;
  334.     CString    m_strSqlSpecialCharacters;
  335.     //}}AFX_DATA
  336.  
  337.  
  338. // Overrides
  339.     // ClassWizard generate virtual function overrides
  340.     //{{AFX_VIRTUAL(CIdentifiers)
  341.     protected:
  342.     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  343.     //}}AFX_VIRTUAL
  344.  
  345. // Implementation
  346. protected:
  347.     // Generated message map functions
  348.     //{{AFX_MSG(CIdentifiers)
  349.     virtual BOOL OnInitDialog();
  350.     //}}AFX_MSG
  351.  
  352. public:
  353.     void OnNewDSN();
  354.  
  355.     DECLARE_MESSAGE_MAP()
  356.  
  357. };
  358.  
  359. /////////////////////////////////////////////////////////////////////////////
  360. // CLimits dialog
  361.  
  362. class CLimits : public CMyPage
  363. {
  364.     DECLARE_DYNCREATE(CLimits)
  365.  
  366. // Construction
  367. public:
  368.     CLimits(CDatabase* pDatabase = NULL);
  369.     ~CLimits();
  370.  
  371.     void DumpToFile(CStdioFile&);
  372.  
  373. // Dialog Data
  374.     //{{AFX_DATA(CLimits)
  375.     enum { IDD = IDD_LIMITS };
  376.     CListCtrl    m_lcSqlTimedateDiffIntervals;
  377.     CListCtrl    m_lcSqlTimedateAddIntervals;
  378.     CString    m_strSqlMaxBinaryLiteralLen;
  379.     CString    m_strSqlMaxCharLiteralLen;
  380.     CString    m_strSqlMaxColumnNameLen;
  381.     CString    m_strSqlMaxColumnsInGroupBy;
  382.     CString    m_strSqlMaxColumnsInIndex;
  383.     CString    m_strSqlMaxColumnsInOrderBy;
  384.     CString    m_strSqlMaxColumnsInSelect;
  385.     CString    m_strSqlMaxColumnsInTable;
  386.     CString    m_strSqlMaxCursorNameLen;
  387.     CString    m_strSqlMaxIndexSize;
  388.     CString    m_strSqlMaxOwnerNameLen;
  389.     CString    m_strSqlMaxProcedureNameLen;
  390.     CString    m_strSqlMaxQualifierNameLen;
  391.     CString    m_strSqlMaxRowSize;
  392.     CString    m_strSqlMaxRowSizeIncludesLong;
  393.     CString    m_strSqlMaxStatementLen;
  394.     CString    m_strSqlMaxTableNameLen;
  395.     CString    m_strSqlMaxTablesInSelect;
  396.     CString    m_strSqlMaxUserNameLen;
  397.     //}}AFX_DATA
  398.  
  399.  
  400. // Overrides
  401.     // ClassWizard generate virtual function overrides
  402.     //{{AFX_VIRTUAL(CLimits)
  403.     protected:
  404.     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  405.     //}}AFX_VIRTUAL
  406.  
  407. // Implementation
  408. protected:
  409.     // Generated message map functions
  410.     //{{AFX_MSG(CLimits)
  411.     virtual BOOL OnInitDialog();
  412.     //}}AFX_MSG
  413.  
  414.     static UWORD    m_nIntervalMasks[];
  415.     static char        *m_szIntervalNames[];
  416.  
  417. public:
  418.     void OnNewDSN();
  419.  
  420.     DECLARE_MESSAGE_MAP()
  421. };
  422.  
  423. /////////////////////////////////////////////////////////////////////////////
  424. // CMisc1 dialog
  425.  
  426. class CMisc1 : public CMyPage
  427. {
  428.     DECLARE_DYNCREATE(CMisc1)
  429.  
  430. // Construction
  431. public:
  432.     CMisc1(CDatabase* pDatabase = NULL);
  433.     ~CMisc1();
  434.  
  435.     void DumpToFile(CStdioFile&);
  436.  
  437. // Dialog Data
  438.     //{{AFX_DATA(CMisc1)
  439.     enum { IDD = IDD_MISC1 };
  440.     CString    m_strSqlTxnCapable;
  441.     CString    m_strSqlCursorCommitBehavior;
  442.     CString    m_strSqlCursorRollbackBehavior;
  443.     BOOL    m_bSqlTxnReadCommitted;
  444.     BOOL    m_bSqlTxnReadUncommitted;
  445.     BOOL    m_bSqlTxnRepeatableRead;
  446.     BOOL    m_bSqlTxnSerializable;
  447.     BOOL    m_bSqlTxnVersioning;
  448.     CString    m_strSqlDefaultTxnIsolation;
  449.     CString    m_strSqlMultipleActiveTxn;
  450.     BOOL    m_bSqlBpClose;
  451.     BOOL    m_bSqlBpDelete;
  452.     BOOL    m_bSqlBpDrop;
  453.     BOOL    m_bSqlBpOtherHstmt;
  454.     BOOL    m_bSqlBpScroll;
  455.     BOOL    m_bSqlBpTransaction;
  456.     BOOL    m_bSqlBpUpdate;
  457.     BOOL    m_bSqlLckExclusive;
  458.     BOOL    m_bSqlLckNoChange;
  459.     BOOL    m_bSqlLckUnlock;
  460.     BOOL    m_bSqlSsAdditions;
  461.     BOOL    m_bSqlSsDeletions;
  462.     BOOL    m_bSqlSsUpdates;
  463.     //}}AFX_DATA
  464.  
  465.  
  466. // Overrides
  467.     // ClassWizard generate virtual function overrides
  468.     //{{AFX_VIRTUAL(CMisc1)
  469.     protected:
  470.     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  471.     //}}AFX_VIRTUAL
  472.  
  473. // Implementation
  474. protected:
  475.     // Generated message map functions
  476.     //{{AFX_MSG(CMisc1)
  477.     virtual BOOL OnInitDialog();
  478.     //}}AFX_MSG
  479. public:
  480.     void OnNewDSN();
  481.  
  482.     DECLARE_MESSAGE_MAP()
  483. };
  484.  
  485. /////////////////////////////////////////////////////////////////////////////
  486. // CMisc2 dialog
  487.  
  488. class CMisc2 : public CMyPage
  489. {
  490.     DECLARE_DYNCREATE(CMisc2)
  491.  
  492. // Construction
  493. public:
  494.     CMisc2(CDatabase* pDatabase = NULL);
  495.     ~CMisc2();
  496.  
  497.     void DumpToFile(CStdioFile&);
  498.  
  499. // Dialog Data
  500.     //{{AFX_DATA(CMisc2)
  501.     enum { IDD = IDD_MISC2 };
  502.     BOOL    m_bSqlOuDmlStatements;
  503.     BOOL    m_bSqlOuIndexDefinition;
  504.     BOOL    m_bSqlOuPrivilegeDefinition;
  505.     BOOL    m_bSqlOuProcedureInvocation;
  506.     BOOL    m_bSqlOuTableDefinition;
  507.     BOOL    m_bSqlQuDmlStatements;
  508.     BOOL    m_bSqlQuIndexDefinition;
  509.     BOOL    m_bSqlQuPrivilegeDefinition;
  510.     BOOL    m_bSqlQuProcedureInvocation;
  511.     BOOL    m_bSqlQuTableDefinition;
  512.     BOOL    m_bSqlSoDynamic;
  513.     BOOL    m_bSqlSoForwardOnly;
  514.     BOOL    m_bSqlSoKeysetDriven;
  515.     BOOL    m_bSqlSoMixed;
  516.     BOOL    m_bSqlSoStatic;
  517.     BOOL    m_bSqlSccoLock;
  518.     BOOL    m_bSqlSccoOptRowver;
  519.     BOOL    m_bSqlSccoOptValues;
  520.     BOOL    m_bSqlSccoReadOnly;
  521.     BOOL    m_bSqlPosAdd;
  522.     BOOL    m_bSqlPosDelete;
  523.     BOOL    m_bSqlPosPosition;
  524.     BOOL    m_bSqlPosRefresh;
  525.     BOOL    m_bSqlPosUpdate;
  526.     BOOL    m_bSqlFdFetchAbsolute;
  527.     BOOL    m_bSqlFdFetchBookmark;
  528.     BOOL    m_bSqlFdFetchFirst;
  529.     BOOL    m_bSqlFdFetchLast;
  530.     BOOL    m_bSqlFdFetchNext;
  531.     BOOL    m_bSqlFdFetchPrior;
  532.     BOOL    m_bSqlFdFetchRelative;
  533.     BOOL    m_bSqlFdFetchResume;
  534.     BOOL    m_bSqlGdAnyColumn;
  535.     BOOL    m_bSqlGdAnyOrder;
  536.     BOOL    m_bSqlGdBlock;
  537.     BOOL    m_bSqlGdBound;
  538.     CString    m_strSqlConcatNullBehavior;
  539.     CString    m_strSqlNeedLongDataLen;
  540.     CString    m_strSqlNonNullableColumns;
  541.     CString    m_strSqlNullCollation;
  542.     CString    m_strSqlProcedures;
  543.     CString    m_strSqlRowUpdates;
  544.     //}}AFX_DATA
  545.  
  546.  
  547. // Overrides
  548.     // ClassWizard generate virtual function overrides
  549.     //{{AFX_VIRTUAL(CMisc2)
  550.     protected:
  551.     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  552.     //}}AFX_VIRTUAL
  553.  
  554. // Implementation
  555. protected:
  556.     // Generated message map functions
  557.     //{{AFX_MSG(CMisc2)
  558.     virtual BOOL OnInitDialog();
  559.     //}}AFX_MSG
  560. public:
  561.     void OnNewDSN();
  562.  
  563.     DECLARE_MESSAGE_MAP()
  564.  
  565. };
  566.